﻿// See https://aka.ms/new-console-template for more information
using HtmlAgilityPack;
using System.Net.Http;
using System.Text.RegularExpressions;

var content = File.ReadAllText("D://html.txt");

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(content);

// 递归遍历HTML文档并删除所有非中文标签节点
RemoveNonChineseNodes(doc.DocumentNode);


// 获取过滤后的纯文本内容
string plainText = doc.DocumentNode.InnerText.Trim();

Console.WriteLine(plainText); // 输出：This is  content.

Console.ReadLine();


// 递归删除所有非中文标签节点
static void RemoveNonChineseNodes(HtmlNode node)
{
    for (int i = node.ChildNodes.Count - 1; i >= 0; i--)
    {
        RemoveNonChineseNodes(node.ChildNodes[i]);
    }

    if (node.NodeType == HtmlNodeType.Element && !IsChineseTag(node.Name))
    {
        node.Remove();
    }
    if(node.NodeType == HtmlNodeType.Element && IsChineseTag(node.Name))
    {
        node.InnerHtml = "＜" + node.Name + "＞";
    }
}

// 判断是否为中文标签
static bool IsChineseTag(string tagName)
{
    // 使用正则表达式来判断是否包含中文字符
    Regex regex = new Regex(@"[\u4e00-\u9fa5]");
    return regex.IsMatch(tagName);
}